home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Almathera Ten Pack 3: CDPD 3
/
Almathera Ten on Ten - Disc 3: CDPD3.iso
/
scope
/
051-075
/
scopedisk69
/
aprtuna
/
apriltuna
< prev
next >
Wrap
Text File
|
1995-03-19
|
19KB
|
444 lines
POST-TAX TUNA
-The April Edition-
Amiga Hardware Trix
A frequent complaint heard about the Amiga is the lack of
documentation in certain areas. For the most part, this complaint
concerns that portion of the Amiga's operating system - AmigaDOS -
which was written in BCPL, or certain "private" portions of the
operating system which Commodore feels would be abused if made public.
Recent revelations, discovered in Jay Miner's trash can, indicate that
some of the hardware is under-documented, as well. This article, the
first of three, will examine the Denise chip. With the help of the
material recovered from Jay Miner's refuse, we have been able to
uncover hitherto unknown abilities of Denise.
Denise, known by the part number 8474, is responsible for the
Amiga's on-screen qualities. The various resolutions, palettes, and
video output are controlled by this chip. Previously, Denise had been
known to be capable of four basic resolutions - 640 X 200, 640 X 400,
320 X 200, and 320 X 400 - plus overscan, and was thought to be limited
to a palette of 4,096 colors. The maximum number of colors available
on-screen in the "normal" modes was 32, which could be extended to 64
in "half-bright" mode. HAM - Hold And Modify - gave the ability to
display any and all of the 4,096 available colors at one time in either
lo-res or lo-res interlaced.
Two of the Denise pins are officially listed as "not connected."
While they are not connected in the normal Amiga setup, they *do* serve
a purpose. The Amiga, as originally designed, had space for several
extra sockets on the motherboard. The official explanation was that
these were intended for the Operating System ROMS. Jay Miner's
discarded documentation, however, indicates otherwise. One of these
sockets, the subject of this article, was intended to hold a second
Denise chip. Once installed, the Amiga was capable of operating in
"Dual Denise" mode. While some of the details of DD mode are beyond
the scope of this article, a cursory examination is in order.
The Extra Denise (Edie) was intended to operate in tandem with
Original Denise (Odie) to double the horizontal resolution. This is
accomplished by doubling the frequency of the dot clock and
interleaving the output of each Denise. The primary drawback of this
approach, and the reason it was never publicly acknowledged, was the
requirement of a (then) expensive "Multi-Sync" type monitor. Because
the horizontal sweep frequency is doubled, the stock 1080 monitor would
not be sufficient.
The Edie-Odie (E-O) combination yields a number of additional
graphic modes. One of them, EXtended mode, is used in conjunction with
Hold-And- Modify mode to yield HAM & EX. In this mode, the benefits of
HAM are extended to the higher resolutions of 640 X 200 and 640 X 400,
as well as the overscan resolutions. Other combinations are possible.
When the user chooses one of the "former" graphics modes, more colors
are available. Where once only 16 colors were available in high-res,
there are now 256 colors available. In lo-res, the maximum number of
colors becomes 16,777,216. The user may also choose a maximum
resolution of 1280 X 400 (plus overscan). This mode, known as
"landscape mode" is generally used when one's monitor is placed on its
side.
Other tantalizing possibilities are hinted at. One of them
involves the interface of piggy-backed Denise chips. Utilizing Denises
in groups of four, in a fashion similar to the way Transputer
processors are networked, this configuration is referred to as the
"E-O-E-O-I" arrangement. Unfortunately, video display technology has
seriously lagged behind graphics processor development. Until
"Ultra-High Usable Resolution Architecture (UHURA) systems become
available, Edie-Odie Networks (EO-Nets) will remain a laboratory
curiosity.
That concludes the first installment of our series on Amiga System
Secrets. Next month, we will examine the consequences of the proximity
of the Agnus and Gary chips: Pregnant Agnus.
TAITOO
We are all aware of the basic capabilities of our beloved Amiga,
and we sometimes take it for granted. Occasionally, we stare in awe at
some of the more outstanding things which talented people have been
able to get Ami to do (Video Toaster, Sculpt 4D, Videoscape 3D, etc).
Now, a new product has been introduced into the Amiga marketplace which
holds a new field of opportunity for Amiga users and opens up the
opportunity for a rather unique home-based business.
Introduced by a subdivision of Texas Instruments (Taitoo), this
new device is based on the tried-and-true technology of the
dot-matrix printer to transfer Amiga IFF graphics to, off all things,
human skin. MOM (a somewhat vague reference to the typical MOM tattoo,
it stands for Matereo-Optical Mimeography) is an amazing new tattooing
device which will be a boon to the tattoo industry. Operating at a
resolution of 300 follicles-per-inch (FPI), 24-needle device can
transfer the full range of 4096 colors available on the Amiga using
off-the-shelf hardware, modified for the job at hand.
The basic technology involves using standard printer heads, with
the pins replaced by extremely small tattoo needles. The frame straps
onto the particular part of the body which the recipient desires to
have tattooed. The needle head is transported along two stationary
rails, similar to a modern-day plotter. Ink is supplied in Red-Green-
Blue (RGB) ink cartridges, as well as a Black-Ink-Cartridge (BIC) to
apply shading in the proper places, and an alcohol container for
sterilizing the skin to be tattooed. The interface between the Amiga
and the needle head plugs into the parallel port on any model Amiga.
When booted, the driving software, a whimsical hi-resolution picture of
a Hell's Angels biker with a MOM tattoo on his right upper arm. The
main menu consists of the following selections:
Load
Wipe
Erase
Align
Start
Abort
Quit
Load simply lets the tattooist load in the picture to be transferred.
Wipe initializes the alcohol skin wash.
Erase deletes the current picture and blanks the screen.
Align puts a small line on the skin (cleanable by alcohol) for the
purpose of aligning the frame.
Start begins the tattoo process.
Abort immediately halts the tattoo in progress, though Taitoo advises
against using this selection for fear of losing a work in progress.
Quit quits the program.
The actual operation of the device is fairly straight forward and
surprisingly fast, as Taitoo uses their own device driver rather than
using AmigaDOS' own PRT: device. Unfortunately for the recipient, the
actual transfer of the picture is painful, though the results are
gratifying. Taitoo is currently considering adding an anesthetic
device, though they admit that this may open them up for numerous
lawsuits. The tatoo takes approximately three days to set, while the
recipient cannot bathe or wash the spot. After setting, the tattoo
displays the picture with wonderful clarity and color.
Taitoo claims that MOM and the supporting hardware are currently
shipping (though a quick check of some of the major retailers does not
bear this out), and has set a starting price of $799.95. This price is
amazingly low, considering the technology involved.
I have used this product on myself extensively over the past two
months, and have not had the program crash on me once. MOM does multi-
task, though running any other graphics-intensive program at the same
time slows the machine to a crawl, dragging the operation out and
prolonging the pain to an almost unbearable length. I did find some
small bugs not worth mentioning (red is the same shade of blood, and
even blue and green have some of the same tint of red in them), but I
did find one major bug. While having the picture "Airbrush" tattooed
on my chest, I was in an online conference on American PeopleLink's
Amigazone, using CommPlx (Steve Tibbett's enhanced Comm 1.34 which lets
you see various colors and other screen enhancements on-screen) and
captured the conference. When I closed the capture buffer, the device
immediately sent the needle head to 0,0 in the frame and started
dumping the entire conference! Imagine my surprise when I looked down
and saw "(NY*JIM) Doe ANYONE know when 1.4 will be released?" tattooed
across my abdomen! I reported this bug to both Taitoo and the author
of Comm 1.34, Dan James. According to Mr. James, Taitoo inadvertently
"used a call to the ActivateGadget() routine resulting in the incorrect
printout". Mr. James has assured me that he has worked with Taitoo on
this problem and they have fully de-bugged this mistake and that it
should be corrected by the time you read this.
Even though I have signed a non-disclosure agreement with Taitoo,
I feel I MUST let you in on their newest development using the engine
from an Apple Laserwriter to [text deleted by Taitoo] effectively
eliminating the undesirable [text deleted by Taitoo] giving an ultimate
resolution of a whopping [text deleted by Taitoo] FPI! When this
device hits the market, a Laser Toaster won't be the only machine on
the block that really cooks!
AmigaDOS 1.0
Reviewed by Irwin Booboo
If you've seen my article on software updates in this month's
Computer Slopper, you've probably noticed that I made the mistake of
stating that the Commodore started numbering WorkBench and Kickstart
with version 1.1.
Well, it seems that CBM realized their mistake, and that they have
now released a new version of Kickstart and Workbench to remedy the
problem: Kickstart and Workbench 1.0.
I found the package sitting on a back shelf at my local Atari ST
dealer. I asked the salesman how much it cost, and he just laughed and
said I could have it free. I guess he recognized me as a famous
computer software critic. I also picked up an Amiga 256K expansion
board, which I have not been able to figure out how to install in my
A500. But more on that next month. I rushed home to play with my new
toy.
Workbench 1.0
When Commodore decided to finally release a 1.0 version of their
operating system, they went all out! The WorkBench disk is a big
improvement over the one that comes with the 1.3 enhancer set. Gone
are many of the confusing commands in the C directory. The new
streamlined Command directory includes only those commands that are
ABSOLUTELY necessary to use your computer. No more confusion of having
more than one directory in your PATH. Also gone is the dangerous
DISKDOCTOR command, which even I, the illustrious Irwin Booboo, have
destroyed at least 17 copy- protected disks with.
Also, Preferences and the printer drivers have been improved. The
new simplified Preferences no longer confuses you with a separate
screen for the cereal port settings, and CBM realized their mistake and
removed the confusing extra printer screens that had been added in 1.3.
Also, the print drivers have been slowed to a more reasonable speed,
which I'm sure will put less wear and tear on your printer. The Epson
driver seemed much easier on my MX-70/Graftrax than the one included
with 1.3.
All of the other commands are improved to. That nasty RAM disk no
longer hangs around after you reboot, and the format command has been
replaced by two new ones, format and initialize, that I'm sure are more
efficient than having one command for BOTH WorkBench and CLI. And best
of all, the demo's drawer is back! My son and I once watched the BOXES
demo for over 10 hours straight, just to see if the computer could keep
multitasking that long.
Extras 1.0
The new Extras disk is a welcome relief after the confusion of
Extras 1.3. Most of those silly, confusing programs are gone, leaving
you space on your master disk to save and test all of your BASIC
programs (who could figure out MicroEMACS without a degree in computer
science, anyway?). The biggest surprise is the new version of BASIC
included with 1.0, though.
MicroSloth's AmigaBasic has been replaced with a new, improved
ABASIC language from a British company called MetaCompost. I knew I
was going to love ABASIC from the start when I double clicked on the
program icon and it started up with big, easy to read 40 column text.
Gone is the confusion of multiple windows for editing and program
output from AmigaBasic. ABASIC shows you one screen where you can do
both your editing and running. Also, ABASIC doesn't confuse you with a
full screen editor. I know I always was losing my cursor on wierd
parts of the screen. ABASIC uses editing commands reminiscent of those
on early IBM mainframes (so you know they HAVE to be good, since IBM is
the standard!).
Finally, an adendem.. addendim.. add on to the ABASIC manual
states that at the last minute, the programmers left out many of the
confusing animation and graphics commands. This was a wise decision,
and will lead to people being less confused by the Amiga. I'll go all
out here and predict that ABASIC will replace Lettuce C as the standard
programming language for the Amiga.
KickStart 1.0
Finally, there are improvements to the KickStart disk itself.
Commodore seems to have re-written the disk access routines so that
they will not put as much wear and tear on the disk drive. Disk
directories and program loading now takes place at a reasonable,
leisurely pace.
Another improvement is in handling of the actual WorkBench Screen.
I remember when I first got my 1.2 Enhancer package. I went to delete
all of those techie programs (like IconEd and Calculator) from my
WorkBench, and as I grabbed my icon to put it in the trashcan, a
duplicate of the icon attached itself to my pointer! There were two
copies of the same icon on the same screen! How confusing can you get?
Now, in 1.0, when you grab an icon, it is replaced by a nice, simple
crosshair. If an expert Amiga user like me finds this to be an
improvement, I'm sure that the average user is ecstatic.
Finally, the number of little lines at the top of windows has been
doubled. Not only does this add more flash to the screen (and we all
know a little flash in a program is a lot more impressive than boring
old features), but it makes for a neat effect when you are in interlace
mode.
Summary
WorkBench 1.0 is a huge improvement over the earlier 1.1, 1.2, and
1.3 releases of the AmigaDOS Amiga disk operating system. Almost
everything has been simplified--even the confusing CLI command
reference has been removed from the manual. The GURU shows up a lot
more often now, showing you that your computer's error checking is hard
at work.
Other than some problems with few new CLI commands (the DOWNLOAD
command wouldn't work with my 300 baud modem, and what's a Sun
Workstation anyway?), this is a great improvement. Hopefully CBM will
continue this trend of improvements when they come back and release 1.4
by totally eliminating the CLI commands. Overall, AmigaDOS 1.0 gets a
"Booboo's Best" award, putting it in hallowed ranks with my other
favorites, TextCraft, GraphiCraft, and AmigaTerm. Now if I can just
figure out where that 256K expander plugs in on my 500...
Programming in C - A Variation on Hello World
(Contributed Anonymously)
#include <intuition/intuition.h> /* This one was pretty intuitive */
#include <resources/cia.h> /* To protect code from corporate spies
*/
#include <hardware/dmabits.h> /* 8 dmabits == a dmabyte? */
#include <intuition//exec//libraries/dos.h> /* had the map upside down
*/
#include <exec/memory.h> /* We can always use more memory */
#include <libraries/dosextens.h> /* Needed the dos extension cord to
plug in the car */
/*
Nabalzbhfyl jevggra ol fbzr thl jub jevgrf ybgf bs cebtenzf jubfr
anzrf raq va K. Lbh'q arire thrff jub.
/\
/||\
||
\____ Sure looks like code to me!
Fher ybbxf yvxr pbqr gb zr!
*/
#define ONE_BILLION 3
struct NewWindow *NW;
struct Window *Broken_Window;
struct DosBase *IntuitionBase; /* Jimm's home */
struct GfxBase *GfxBase; /* Dale's home */
main()
{
short shorter, shortest;
long longer, longest;
int sure_is;
shorter = shortest = longer = longest = WINDOWTICKED;
{
int The_Lattice;
};
/* Who knows when they'll make the NewWindow structure bigger, eh? */
NW = (struct NewWindow *)AllocMem(17295, MEMF_PUBLIC);
if (NW == DMAB_AUD0) goto Oh_No_Panic_Lemme_Outta_Here;
/* Oops - forgot to open the libraries - Better give it back */
FreeMem(NW, 17295);
IntuitionBase = (struct DosBase *)OpenLibrary("intuition.library", 6);
/* Don't want V5! */
if (IntuitionBase == OFFSET_CURRENT) goto Or_Else_You_Will_Regret_It;
GfxBase = (struct GfxBase *)OpenLibrary("graphics.library", 13); /*
Feeling lucky... */
if (GfxBase == (5.5-5.5)) goto I_Mean_It;
goto Here;
There:
Open_The_Frigging_Window("Now!");
goto Elsewhere;
Here: { int C_compiler; }
Set_Up_The_Frigging_Structure(00000000000000000000000000.000000000);
goto There;
Elsewhere:
SetAPen(Broken_Window->RPort, 1);
{
{
{
{
{
{
Move(Broken_Window->RPort, 10, 40);
};
};
};
};
};
};
Text(Broken_Window->RPort, "Hello World!", IECLASS_SIZEWINDOW);
WaitPort(Broken_Window->UserPort);
Oh_No_Panic_Lemme_Outta_Here:
Or_Else_You_Will_Regret_It:
I_Mean_It:
if (Broken_Window != 0) CloseWindow(Broken_Window);
if (IntuitionBase != (OFFSET_END+OFFSET_BEGINNING))
CloseLibrary(IntuitionBase);
if (GfxBase != FIBB_DELETE) CloseLibrary(GfxBase);
}
Open_The_Frigging_Window()
{ short
x; x = 1; /* Hey no peeking */
Broken_Window = (struct Window *)OpenWindow(NW);
if (Broken_Window == (struct Window *)NULL)
{
printf("Someone blew up the cat!\n");
exit(12*3+(4/2));
};
return(SCREENQUIET);
}
Set_Up_The_Frigging_Structure(butter)
short butter;
{
short parkay = 0;
char Superb;
if (butter == parkay)
{
NW = (struct NewWindow *)AllocMem(10<<5, MEMF_PUBLIC|MEMF_CLEAR);
if (NW == 0)
{
printf("Oops - real error! ow! \n");
exit(ONE_BILLION);
};
NW->LeftEdge = SHOWTITLE;
NW->TopEdge = BEEPING;
NW->Width = ERROR_WRITE_PROTECTED; /* No writing in MY window */
NW->Height = ID_VALIDATED; /* I validated it personally */
NW->DetailPen = 0;
NW->BlockPen = 1;
NW->IDCMPFlags = CLOSEWINDOW;
NW->Flags =
WINDOWCLOSE|WINDOWDRAG|WINDOWDEPTH|WINDOWSIZING|ACTIVATE|SMART_-
REFRESH|NOCAREREFRESH;
NW->Title = "My First Program!";
NW->Type = MENUENABLED; /* Isn't this where I ask for menus? */
NW->Screen = 0;
};
return(TRUE);
}
/* Editor's Note: This program really does compile successfully under
Lattice C. Really! No fooling! */
We hope you enjoyed this edition of TUNA. The authors, for
various professional reasons, wish to remain anonymous, but we'd like
to thank (in alphabetic order) Denny Atkin, Dan Bonachea, Jim Meyer,
and Steve Tibbett) In case we worried you with this issue's lack of
serious content, fear not. Tuna will return in a more serious vein
next month or so.